Neural Style Transfer with OpenCV

In this lesson we'll learn how to use pre-trained Models to implement Neural Style Transfer in OpenCV

About Neural Style Transfers

Introduced by Leon Gatys et al. in 2015, in their paper titled “A Neural Algorithm for Artistic Style”, the Neural Style Transfer algorithm went viral resulting in an explosion of further work and mobile apps.

Neural Style Transfer enables the artistic style of an image to be applied to another image! It copies the color patterns, combinations, and brush strokes of the original source image and applies it to your input image. And is one the most impressive implementations of Neural Networks in my opinion.

For more: https://pyimagesearch.com/2018/08/27/neural-style-transfer-with-opencv/

Implement Neural Style Transfer using pretrained Models

We use pretrained t7 PyTorch models that can be imported using ``cv2.dnn.readNetFromTouch()```

These models we're using come from the paper Perceptual Losses for Real-Time Style Transfer and Super-Resolution by Johnson et al.

They improved proposing a Neural Style Transfer algorithm that performed 3 times faster by using a super-resolution-like problem based on perceptual loss function.

2 . Real-time neural style transfer